home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / osi / isode / ISODE.What_is_it < prev    next >
Encoding:
Internet Message Format  |  1991-07-02  |  9.2 KB

  1. From: mrose@CHEETAH.CA.PSI.COM (Marshall Rose)
  2. Newsgroups: comp.archives
  3. Subject: [comp.protocols.iso] Re: ISODE high-level explanation
  4. Date: 16 Apr 91 20:26:52 GMT
  5.  
  6. Here is an extract from something that appeared in print last year.
  7.  
  8. /mtr
  9. ///////
  10. The ISODE (pronounced I-SO-D-E), or ISO Development Environment, is
  11. a collection of library routines and programs that implements an
  12. extensive set of OSI upper-layer services.  The ISODE
  13. implementation of the upper-layers of OSI is interesting in four
  14.      respects:
  15.  
  16.       - it provides extensive automatic tools for the development of
  17.     OSI applications; 
  18.  
  19.       - it supports OSI applications on top of both OSI and TCP/IP-based
  20.     networks; 
  21.  
  22.       - it provides a novel approach to the problems of OSI coexistence
  23.     with and transition from the Internet suite of protocols; and,
  24.  
  25.       - it is openly available (non-proprietary).
  26.  
  27.      The ISODE was originally developed in 1986 at the Northrop Research
  28.      and Technology Center as a means to experiment with OSI
  29.      applications.  Current support for the ISODE comes from Performance
  30.      Systems International (PSI) and partially from the U.S.~Defense
  31.      Advanced Research Projects Agency (DARPA).
  32.  
  33.      The ISODE is an openly available implementation, available for a
  34.      minimal distribution fee from any of several international
  35.      distribution sites, via both postal and on-line means.  There is an
  36.      implicit ``hold-harmless'' clause contained in the software,
  37.      although no signatures, letters of intent, or other such legal
  38.      encumbrances need be exchanged in order to receive a source release
  39.      of the software.  Once a copy of the ISODE is obtained, any party
  40.      is free to make use of the software for any legal purpose,
  41.      including re-selling it for a profit (modified or not), providing
  42.      that the authors and distribution sites are held harmless from any
  43.      legal entanglements.
  44.  
  45.      This style of openly available source coupled with contributions
  46.      from the user community is reminiscent of the early days of
  47.      DARPA-sponsored networking, when researchers freely exchanged their
  48.      findings in order to facilitate rapid understanding of the
  49.      technology.  However, the policy is in sharp contrast to the modern
  50.      trend of so-called ``public domain'' software that can be used only
  51.      for non-commercial purposes.  The openly-available/no restrictions
  52.      model is particularly appropriate for the ISODE, whose original
  53.      authors felt that the dearth of OSI implementations combined with
  54.      the frenzy for OSI-based systems outweighed the potentially huge
  55.      financial opportunity that could be made with a high-quality,
  56.      relatively complete implementation of OSI.  Northrop management was
  57.      far-sighted enough to agree with this posture, which in turn set
  58.      the tone for subsequent sponsors of the ISODE.
  59.  
  60.      The ISODE contains four parts:
  61.  
  62.       - a set of application service elements;
  63.  
  64.       - a collection of ASN.1 tools;
  65.  
  66.       - presentation and session services; and,
  67.  
  68.       - interfaces to transport and network layer realizations.
  69.  
  70.      The ISODE currently reflects the Standards as they existed towards
  71.      the end of~1988.
  72.  
  73.      As a result of continuing development and cooperation, the ISODE
  74.      now contains implementations of the four main OSI applications:
  75.      message handling (MHS), file service (FTAM), directory services,
  76.      and terminal service, plus a gateway between FTAM and the Internet
  77.      File Transfer Protocol (FTP), and a gateway between MHS and the
  78.      Internet Simple Mail Transfer Protocol (SMTP).  Finally, the ISODE
  79.      contains a network management implementation, but not the OSI
  80.      network management protocol.
  81.  
  82.      The ISODE was initially developed as a tool for studying how OSI
  83.      applications could be built.  However, since then it has grown into
  84.      a system extensively used in international pilots of OSI services,
  85.      and it been pressed into service as a reference implementation of
  86.      the core aspects of OSI.
  87.  
  88.      The ISODE is really a programming kit: the 6.0 release available in
  89.      January of 1990, contained everything but the message handling
  90.      software, and consisted of approximately~250,000 lines of C code,
  91.      along with a five volume user's manual of over~1000 pages. ISODE
  92.      runs on different variants of the \unix/ operating system, and does
  93.      not require any changes to the operating system.
  94.  
  95.      Building Distributed Applications
  96.  
  97.      Although the ISODE can be programmed at several levels, it provides
  98.      a set of semi-automatic tools, termed The Applications Cookbook,
  99.      which can be used to rapidly construct OSI applications.
  100.  
  101.      In OSI, there is a concise notation for describing programs that
  102.      use remote operations.  The ISODE contains a compiler which reads
  103.      this notation and produces equivalent procedure calls in the C
  104.      programming language.  When a program calls one of these routines, a
  105.      run-time library is invoked which initiates a remote procedure call
  106.      across the network.  Another compiler defines C data structures
  107.      equivalent to the ASN.1 structures defined by the notation.
  108.      Finally, a third compiler generates C code to map between the C and
  109.      ASN.1 structures.
  110.  
  111.      The impact of a system such as the Applications Cookbook is that it
  112.      frees the programmer from worrying about network-specifics: the
  113.      programmer deals with the application-specific aspects of the
  114.      system, and the Cookbook deals with how the application talks to
  115.      the network.
  116.  
  117.      Transport-Independence
  118.  
  119.      When the ISODE was originally developed in January of 1986, there
  120.      were very few networks and systems which supported the OSI
  121.      transport service.  In contrast, the Internet suite of protocols,
  122.      and in particular, it's reliable transport protocol, the TCP, were
  123.      widely deployed even at that time (and are even more so today).
  124.  
  125.      To solve this problem, a transport service convergence protocol
  126.      (TSCP) between the TCP and the OSI transport service was developed,
  127.      known as the RFC1006 method. This particular TSCP is a simple
  128.      protocol that runs over the TCP and makes the service it offers
  129.      appear to be identical to the OSI transport service.  This is an
  130.      important abstraction in that it allowed the development of native
  131.      OSI applications, that behaved as if they were running in a pure
  132.      OSI environment. Later, when some pure OSI environments became
  133.      available, the same applications ran without even being
  134.      re-compiled: they were simply reloaded with a new transport library!
  135.  
  136.      This development led to an important abstraction in the ISODE
  137.      called the transport switch.  When the ISODE is configured, one or
  138.      more transport-stacks are defined. A transport-stack is simply a
  139.      combination of protocols which offer the OSI transport service,
  140.      e.g., TP4 over CLNP, or TP0 over X.25, or RFC1006 over TCP. When a
  141.      connection is to be initiated, the transport-switch examines the
  142.      destination address and automatically invokes the correct
  143.      transport-stack. Once a connection is established, the appropriate
  144.      transport-stack is used exclusively for that connection.
  145.  
  146.      Initially, the transport-switch was written with the belief that
  147.      there would be only a few transport-stacks that it would have to
  148.      know about.  However, many in the new generation of network
  149.      technologies are likely to use their own transport service.  As a
  150.      result, some predict that by mid-90's there will be many competing
  151.      transport services, all useful, but few interworking. In cases such
  152.      as these, the transport-switch will prove useful in providing a
  153.      transparent mechanism for OSI applications to run on these new
  154.      technologies.
  155.  
  156.      Transition to OSI
  157.  
  158.      Being able to run OSI applications over TCP/IP-based  networks might
  159.      be an interesting approach towards the transition to OSI. But, if
  160.      one site has OSI applications running on top of TP4/CLNP, and
  161.      another runs the same applications over RFC1006/TCP, then how can
  162.      these two sites interoperate?
  163.  
  164.      The solution is to provide a device called a transport-service
  165.      bridge (or active transport layer relay in ISO parlance).  This is a
  166.      device which supports at least two different transport-stacks.
  167.      When a connection comes in on one stack, it starts a connection
  168.      with the second stack and then starts shuffling data. 
  169.  
  170.      Of course, such a device is outside the scope of OSI as it performs
  171.      functions which are not allowed within the framework of the OSI
  172.      model.  As such, it should not be surprising that this ``solution''
  173.      is not perfect: issues such as accounting, access control, and load
  174.      balancing have yet to be resolved.  But, in many environments, the
  175.      use of TS-bridges has proven crucial in achieving interoperability
  176.      between communities.  For example, many sites run TCP/IP over their
  177.      local area network and also have a host with an international-X.25
  178.      connection.  By running a TS-bridge on this host, all of the
  179.      machines on the local area network are able to access OSI services
  180.      available anywhere in the international-X.25 network.---
  181. Marshall Rose
  182.  
  183. ------- End of Forwarded Message
  184.